#pragma once

#include<vector>
using namespace std;

template<class T>
class Less
{
public:
	bool operator()(const T& x, const T& y)
	{
		return x < y;
	}
};
template<class T>
class Greater
{
public:
	bool operator()(const T& x, const T& y)
	{
		return x > y;
	}
};
namespace wbr
{
	template<class T,class Container = vector<T>,class Compare=Less<T>>
	class priority_queue
	{
		void push(const T& x)
		{

		}
		void pop();
		const T& top();
	private:
		Container _con;
	};
}